|
Menüeintrag |
---|
Part → Teilen → Boolesche Bestandteile |
Arbeitsbereich |
Part |
Standardtastenkürzel |
Keiner |
Eingeführt in Version |
0.17 |
Siehe auch |
Part Auseinanderschneiden, Part XOdeR, Part ObjekteVerbinden, Part BoolescheVerknüpfung |
Der Befehl Part BoolescheBestandteile berechnet alle Bruchteile, die sich aus der Anwendung boolescher Verknüpfungen zwischen Eingabeformen ergeben können. So werden beispielsweise aus zwei sich schneidende Kugeln drei nicht überlappende, aber berührende Festkörper erzeugt.
Auf dem obigen Bild wurden die Teile anschließend manuell auseinandergezogen, um die Schnitte zu erkennen.
Die Ausgabeform ist immer ein Verbund. Der Inhalt des Verbundes hängt von der Art der Eingangsformen und der Betriebsart ab. Das bedeutet, dass man nicht sofort Zugriff auf einzelne Bestendteile des Ergebnisses hast - die Teile bleiben gruppiert. Die einzelnen Stücke können durch Auflösen des Verbundes entnommen werden (Draft Zurückstufen).
Der Befehl verfügt über drei Modi: "Standard", "Split" (Teilen), and "CompSolid" (VerbundFestkörper).
"Standard" und "Split" unterscheiden sich durch die Wirkung des Befehls auf Linienzüge, Hüllkörper und Verbundkörper: Bei "Split" werden diese getrennt; bei "Standard", werden sie zusammen gehalten (erhalten zusätzlicher Segmente).
Die Verbundstruktur im "Standard" und "Teilen" Modus folgt der Verbundstruktur der Eingänge. Das heißt, wenn du zwei Verbindungen einspeist, die jeweils eine Kugel enthalten, wie zum Beispiel oben, enthält das Ergebnis auch zwei Verbünde, die jeweils die Stücke der ursprünglich enthaltenen Kugel enthalten. Das bedeutet, dass das vereinigte Stück zweimal im Ergebnis wiederholt wird. Nur wenn die Eingangskugeln beide nicht in Verbünden vorliegen, enthält das Ergebnis das vereinigte Stück einmal.
Im "Verbundkörper" Modus werden die Festkörper zu einem Verbundkörper verbunden (Verbundkörper ist ein Satz von Festkörpern, die durch Flächen verbunden sind; sie sind mit Festkörpern verbunden, wie Drähte mit Kanten und Schalen mit Flächen; der Name ist wahrscheinlich ein verkürzter Satz "Verbundkörper"). Die Ausgabe ist eine nicht verschachtelte Verbindung von Verbundkörpern.
Boolean Fragments
Der Befehl Boolesche Bestandteile im "Standardmodus" ist die allgemeine Vereinigungs-Verknüpfung (engl.: General Fuse Operator (GFA)) von OpenCascade. Sie akzeptiert eine Kombination von wahrscheinlich allen Formarten, und die Logik der Ausgabe ist ziemlich unübersichtlich. Siehe OpenCascade Benutzerhandbuch: Boolesche Verknüpfungen.
Für die Modi "Teilen" und "VerbundKörper" erfolgt eine zusätzliche Nachbearbeitung durch FreeCAD.
Der Befehl kann in Makros und von der Python-Konsole aus durch folgende Funktion verwendet werden:
BOPTools.SplitFeatures.makeBooleanFragments(name)
BoolescheFragmente kann auch auf einfache Formen angewendet werden, ohne dass ein Dokumentobjekt erforderlich ist, via:
import BOPTools.SplitAPI
BOPTools.SplitAPI.booleanFragments(list_of_shapes, mode, tolerance = 0.0)
# OR, for Standard mode:
list_of_shapes = [App.ActiveDocument.Sphere.Shape, App.ActiveDocument.Sphere001.Shape]
pieces, map = list_of_shapes[0].generalFuse(list_of_shapes[1:], tolerance)
# pieces receives a compound of shapes; map receives a list of lists of shapes, defining list_of_shapes <--> pieces correspondence
Dies kann nützlich sein, um benutzerdefinierte Python Skriptfunktionen zu erstellen.
Beispiel:
import BOPTools.SplitFeatures
j = BOPTools.SplitFeatures.makeBooleanFragments(name= 'BooleanFragments')
j.Objects = FreeCADGui.Selection.getSelection()
Der Befehl selbst ist in Python implementiert, siehe /Mod/Part/BOPTools/SplitFeatures.py dort wo FreeCAD installiert ist.